{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Chapter 9.1 - Densely Connected Neural Network with TensorFlow 2.0",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "MY7AWYujzLgj",
        "colab_type": "text"
      },
      "source": [
        "### 9.1. Implementing a Densely Connected Neural Network with TensorFlow 2.0"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CNrJE7cizmt1",
        "colab_type": "text"
      },
      "source": [
        "#### Importing Required Libraries"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NaZyNoyl0Uu1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 710
        },
        "outputId": "f6a42f2a-6cf7-4f77-c49c-51a58d062e9a"
      },
      "source": [
        "pip install --upgrade tensorflow"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Requirement already up-to-date: tensorflow in /usr/local/lib/python3.6/dist-packages (2.3.0)\n",
            "Requirement already satisfied, skipping upgrade: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.10.0)\n",
            "Requirement already satisfied, skipping upgrade: astunparse==1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.6.3)\n",
            "Requirement already satisfied, skipping upgrade: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (3.3.0)\n",
            "Requirement already satisfied, skipping upgrade: h5py<2.11.0,>=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.10.0)\n",
            "Requirement already satisfied, skipping upgrade: protobuf>=3.9.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (3.12.4)\n",
            "Requirement already satisfied, skipping upgrade: tensorflow-estimator<2.4.0,>=2.3.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.3.0)\n",
            "Requirement already satisfied, skipping upgrade: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.12.1)\n",
            "Requirement already satisfied, skipping upgrade: scipy==1.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.4.1)\n",
            "Requirement already satisfied, skipping upgrade: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.32.0)\n",
            "Requirement already satisfied, skipping upgrade: numpy<1.19.0,>=1.16.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.18.5)\n",
            "Requirement already satisfied, skipping upgrade: six>=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.15.0)\n",
            "Requirement already satisfied, skipping upgrade: tensorboard<3,>=2.3.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.3.0)\n",
            "Requirement already satisfied, skipping upgrade: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.1.0)\n",
            "Requirement already satisfied, skipping upgrade: keras-preprocessing<1.2,>=1.1.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.1.2)\n",
            "Requirement already satisfied, skipping upgrade: gast==0.3.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.3.3)\n",
            "Requirement already satisfied, skipping upgrade: google-pasta>=0.1.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.2.0)\n",
            "Requirement already satisfied, skipping upgrade: wheel>=0.26 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.35.1)\n",
            "Requirement already satisfied, skipping upgrade: setuptools in /usr/local/lib/python3.6/dist-packages (from protobuf>=3.9.2->tensorflow) (50.3.0)\n",
            "Requirement already satisfied, skipping upgrade: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (1.7.0)\n",
            "Requirement already satisfied, skipping upgrade: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (1.0.1)\n",
            "Requirement already satisfied, skipping upgrade: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (0.4.1)\n",
            "Requirement already satisfied, skipping upgrade: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (2.23.0)\n",
            "Requirement already satisfied, skipping upgrade: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (1.17.2)\n",
            "Requirement already satisfied, skipping upgrade: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (3.2.2)\n",
            "Requirement already satisfied, skipping upgrade: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<3,>=2.3.0->tensorflow) (1.3.0)\n",
            "Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (3.0.4)\n",
            "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (2020.6.20)\n",
            "Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (2.10)\n",
            "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (1.24.3)\n",
            "Requirement already satisfied, skipping upgrade: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (0.2.8)\n",
            "Requirement already satisfied, skipping upgrade: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (4.1.1)\n",
            "Requirement already satisfied, skipping upgrade: rsa<5,>=3.1.4; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (4.6)\n",
            "Requirement already satisfied, skipping upgrade: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<3,>=2.3.0->tensorflow) (1.7.0)\n",
            "Requirement already satisfied, skipping upgrade: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<3,>=2.3.0->tensorflow) (3.1.0)\n",
            "Requirement already satisfied, skipping upgrade: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (0.4.8)\n",
            "Requirement already satisfied, skipping upgrade: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard<3,>=2.3.0->tensorflow) (3.1.0)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Bz-enUl10VRe",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "14aa7c32-49c1-40b0-90bc-908238fc8fb0"
      },
      "source": [
        "import tensorflow as tf\n",
        "print(tf.__version__)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "2.3.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "1E665jv004r0",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 74
        },
        "outputId": "6c50d074-7441-4046-eb53-c53bed27dde6"
      },
      "source": [
        "import seaborn as sns\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "\n",
        "from tensorflow.keras.layers import Dense, Dropout, Activation\n",
        "from tensorflow.keras.models import Model, Sequential\n",
        "from tensorflow.keras.optimizers import Adam"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
            "  import pandas.util.testing as tm\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fUC9jXJm149T",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "banknote_data = pd.read_csv(\"https://raw.githubusercontent.com/AbhiRoy96/Banknote-Authentication-UCI-Dataset/master/bank_notes.csv\")"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H0ljeOdK2JR2",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 198
        },
        "outputId": "4088be4c-5be1-4ab8-ad28-c5ab1b1950da"
      },
      "source": [
        "banknote_data.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>variance</th>\n",
              "      <th>skewness</th>\n",
              "      <th>curtosis</th>\n",
              "      <th>entropy</th>\n",
              "      <th>Target</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>3.62160</td>\n",
              "      <td>8.6661</td>\n",
              "      <td>-2.8073</td>\n",
              "      <td>-0.44699</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>4.54590</td>\n",
              "      <td>8.1674</td>\n",
              "      <td>-2.4586</td>\n",
              "      <td>-1.46210</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>3.86600</td>\n",
              "      <td>-2.6383</td>\n",
              "      <td>1.9242</td>\n",
              "      <td>0.10645</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>3.45660</td>\n",
              "      <td>9.5228</td>\n",
              "      <td>-4.0112</td>\n",
              "      <td>-3.59440</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.32924</td>\n",
              "      <td>-4.4552</td>\n",
              "      <td>4.5718</td>\n",
              "      <td>-0.98880</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   variance  skewness  curtosis  entropy  Target\n",
              "0   3.62160    8.6661   -2.8073 -0.44699       0\n",
              "1   4.54590    8.1674   -2.4586 -1.46210       0\n",
              "2   3.86600   -2.6383    1.9242  0.10645       0\n",
              "3   3.45660    9.5228   -4.0112 -3.59440       0\n",
              "4   0.32924   -4.4552    4.5718 -0.98880       0"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "CxGvJN-K3WRw",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "b7c663f6-f40d-44f6-ebd2-036bd1f0f70c"
      },
      "source": [
        "banknote_data.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(1372, 5)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "13cY06qf2K5R",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 301
        },
        "outputId": "2741f4f5-68d2-404a-db27-def36bf6f3aa"
      },
      "source": [
        "sns.countplot(x='Target', data=banknote_data)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x7f6b04f560f0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 7
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4m2akCzF3O27",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 54
        },
        "outputId": "43f3bdf6-1234-4c9a-deba-cfcf4b267aa3"
      },
      "source": [
        "X = banknote_data.drop(['Target'], axis=1).values\n",
        "y = banknote_data[['Target']].values\n",
        "\n",
        "print(X.shape)\n",
        "print(y.shape)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(1372, 4)\n",
            "(1372, 1)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iWGLXhAp3uWK",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.model_selection import train_test_split\n",
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "gcvfrAki4Mco",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.preprocessing import StandardScaler\n",
        "sc = StandardScaler()\n",
        "X_train = sc.fit_transform(X_train)\n",
        "X_test = sc.transform(X_test)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "j0A27E414OeS",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def create_model(learning_rate, dropout_rate):\n",
        "\n",
        "#create sequential model\n",
        "    model = Sequential()\n",
        "#adding dense layers\n",
        "    model.add(Dense(12, input_dim=X_train.shape[1],  activation='relu'))\n",
        "    model.add(Dropout(dropout_rate))\n",
        "    model.add(Dense(6,  activation='relu'))\n",
        "    model.add(Dropout(dropout_rate))\n",
        "    model.add(Dense(1, activation='sigmoid'))\n",
        "#compiling the model\n",
        "    adam = Adam(lr=learning_rate)\n",
        "    model.compile(loss='binary_crossentropy', optimizer=adam, metrics=['accuracy'])\n",
        "    return model"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kK6metzC6bjn",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "dropout_rate = 0.1\n",
        "epochs = 20\n",
        "batch_size = 4\n",
        "learn_rate = 0.001"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cexqZUMH4_pt",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model = create_model(learn_rate, dropout_rate)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "85BmLBSn6N-c",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 644
        },
        "outputId": "365579fd-10d3-43cf-e330-8e86641a0492"
      },
      "source": [
        "from tensorflow.keras.utils import plot_model\n",
        "plot_model(model, to_file='model_plot1.png', show_shapes=True, show_layer_names=True)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 14
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hsxFTR8D6PMn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 745
        },
        "outputId": "f9558d90-7002-487b-e2af-b5acc2320adf"
      },
      "source": [
        "model_history = model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.2, verbose=1)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Epoch 1/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.5473 - accuracy: 0.7674 - val_loss: 0.4593 - val_accuracy: 0.8182\n",
            "Epoch 2/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.3597 - accuracy: 0.8860 - val_loss: 0.2681 - val_accuracy: 0.9227\n",
            "Epoch 3/20\n",
            "220/220 [==============================] - 1s 3ms/step - loss: 0.2350 - accuracy: 0.9236 - val_loss: 0.1514 - val_accuracy: 0.9409\n",
            "Epoch 4/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.1687 - accuracy: 0.9441 - val_loss: 0.0917 - val_accuracy: 0.9818\n",
            "Epoch 5/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.1284 - accuracy: 0.9544 - val_loss: 0.0601 - val_accuracy: 0.9864\n",
            "Epoch 6/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.1007 - accuracy: 0.9635 - val_loss: 0.0460 - val_accuracy: 0.9864\n",
            "Epoch 7/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0894 - accuracy: 0.9647 - val_loss: 0.0359 - val_accuracy: 0.9864\n",
            "Epoch 8/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0677 - accuracy: 0.9715 - val_loss: 0.0306 - val_accuracy: 0.9864\n",
            "Epoch 9/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0671 - accuracy: 0.9692 - val_loss: 0.0264 - val_accuracy: 0.9955\n",
            "Epoch 10/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0579 - accuracy: 0.9795 - val_loss: 0.0229 - val_accuracy: 0.9955\n",
            "Epoch 11/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0459 - accuracy: 0.9840 - val_loss: 0.0212 - val_accuracy: 0.9955\n",
            "Epoch 12/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0539 - accuracy: 0.9806 - val_loss: 0.0184 - val_accuracy: 0.9955\n",
            "Epoch 13/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0538 - accuracy: 0.9783 - val_loss: 0.0175 - val_accuracy: 0.9955\n",
            "Epoch 14/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0513 - accuracy: 0.9795 - val_loss: 0.0147 - val_accuracy: 0.9955\n",
            "Epoch 15/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0438 - accuracy: 0.9818 - val_loss: 0.0145 - val_accuracy: 0.9955\n",
            "Epoch 16/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0350 - accuracy: 0.9886 - val_loss: 0.0128 - val_accuracy: 0.9955\n",
            "Epoch 17/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0352 - accuracy: 0.9863 - val_loss: 0.0121 - val_accuracy: 0.9955\n",
            "Epoch 18/20\n",
            "220/220 [==============================] - 1s 4ms/step - loss: 0.0356 - accuracy: 0.9875 - val_loss: 0.0089 - val_accuracy: 1.0000\n",
            "Epoch 19/20\n",
            "220/220 [==============================] - 1s 3ms/step - loss: 0.0317 - accuracy: 0.9897 - val_loss: 0.0099 - val_accuracy: 0.9955\n",
            "Epoch 20/20\n",
            "220/220 [==============================] - 1s 3ms/step - loss: 0.0370 - accuracy: 0.9829 - val_loss: 0.0079 - val_accuracy: 1.0000\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JwTYVbf08l3Q",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 72
        },
        "outputId": "fc7f2ba3-b68d-4793-f64a-cd684361a407"
      },
      "source": [
        "accuracies = model.evaluate(X_test, y_test, verbose=1)\n",
        "\n",
        "print(\"Test Score:\", accuracies[0])\n",
        "print(\"Test Accuracy:\", accuracies[1])"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "9/9 [==============================] - 0s 3ms/step - loss: 0.0145 - accuracy: 1.0000\n",
            "Test Score: 0.014491557143628597\n",
            "Test Accuracy: 1.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ZGEb6abt_vtw",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "1ba6d5e4-f926-4cdc-f531-a445c04be509"
      },
      "source": [
        "history_dict = model_history.history\n",
        "print(history_dict.keys())"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy'])\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UxYmjCGn87f5",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 283
        },
        "outputId": "79e4ae45-485b-4c9e-e942-da7c0003ea02"
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.plot(model_history.history['accuracy'], label = 'accuracy')\n",
        "plt.plot(model_history.history['val_accuracy'], label = 'val_accuracy')\n",
        "plt.legend(['train','test'], loc='lower left')\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7f6b00395710>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 18
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xVHWv4aKOa0P",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 283
        },
        "outputId": "eabf6900-da04-421a-ef34-975b161ed06c"
      },
      "source": [
        "\n",
        "plt.plot(model_history.history['loss'], label = 'loss')\n",
        "plt.plot(model_history.history['val_loss'], label = 'val_loss')\n",
        "plt.legend(['train','test'], loc='upper left')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7f6b003056d8>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 19
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "R8mZS3Xfa4CB",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}